import Vue from 'vue'

import 'normalize.css/normalize.css' // A modern alternative to CSS resets

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import locale from 'element-ui/lib/locale/lang/en' // lang i18n

import '@/styles/index.scss' // global css

import App from './App'
import store from './store'
import router from './router'

import '@/icons' // icon
import '@/permission' // permission control

/* 注册toolPage组件 */
// import toolPage from '@/components/toolPage'
// Vue.component('toolPage', toolPage)

import '@/components' // 整体注册组件
// set ElementUI lang to EN
Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui，按如下方式声明
// Vue.use(ElementUI)

//  自定义指令的功能
// 步骤总结：
// 1-Vue.directive(自定义指令的名字,对象)
// 2-inserted：等待dom元素全部插入到dom树里面之后在执行
//   2-1：可以获取dom元素，可以给dom元素绑定一个资源加载失败的事件
//   2-2：重新给dom设置他的src
//   2-3 将设置的src值写活，
//   需要在navBar组件中使用指令的时候传值 v-errorImg="defaultImg"
//   2-4inserted猴子函数需要获取传过来的值，获取之后在赋值给dom元素的src

import plugin from '@/directives'
Vue.use(plugin)

Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  render: (h) => h(App)
})
